@echo off
REM 设置中文显示
chcp 65001 > nul

REM 本地会议助手项目启动脚本
REM 此脚本提供多种启动选项，适应不同的开发需求

echo ====================================================
echo               本地会议助手项目启动中心
echo ====================================================
echo. 
echo 请选择启动模式：
echo 1. 前端开发模式（仅启动前端服务）
echo 2. 模拟数据模式（适合Python 3.13用户）
echo 3. 完整功能模式（需要Python 3.9-3.12环境）
echo. 

:SELECT_MODE
set /p mode=请输入选择 [1-3]: 
if %mode%==1 goto START_FRONTEND
if %mode%==2 goto START_MOCK_DATA
if %mode%==3 goto START_FULL

echo 无效的选择，请重新输入！
goto SELECT_MODE

:START_FRONTEND
echo ====================================================
echo               前端开发模式启动
 echo ====================================================

echo [1/3] 正在检查Node.js环境...
where node >nul 2>nul
if %errorlevel% neq 0 (
    echo 错误: 未找到Node.js环境，请先安装Node.js
    echo 请参考项目目录下的"详细安装启动指南.md"文件进行安装
    pause
    exit /b 1
)

where npm >nul 2>nul
if %errorlevel% neq 0 (
    echo 错误: 未找到npm环境，请先安装Node.js
    echo 请参考项目目录下的"详细安装启动指南.md"文件进行安装
    pause
    exit /b 1
)

REM 获取并显示Node.js和npm版本
for /f "tokens=*" %%i in ('node -v') do set nodeVersion=%%i
for /f "tokens=*" %%i in ('npm -v') do set npmVersion=%%i

echo 检测到Node.js版本: %nodeVersion%
echo 检测到npm版本: %npmVersion%

echo [2/3] 正在安装前端项目依赖...
npm install
if %errorlevel% neq 0 (
    echo 错误: 依赖安装失败
    echo 建议尝试: 1. 删除node_modules文件夹 2. 清理npm缓存(npm cache clean --force) 3. 重新运行脚本
    pause
    exit /b 1
)

echo [3/3] 正在启动前端开发服务器...
npm run dev
if %errorlevel% neq 0 (
    echo 错误: 前端服务器启动失败
    echo 常见问题: 端口被占用，请关闭占用5173端口的程序后重试
    pause
    exit /b 1
)

goto END

:START_MOCK_DATA
echo ====================================================
echo               模拟数据模式启动
 echo ====================================================
echo 此模式适合Python 3.13用户，不需要启动后端服务
echo 系统将使用本地模拟数据展示界面效果
echo. 

REM 检查并生成模拟数据
if not exist "mock_data\meetings.json" (
    echo [1/3] 未找到模拟数据，正在尝试生成...
    python mock_data_generator.py
    if %errorlevel% neq 0 (
        echo 警告：生成模拟数据失败，但仍可启动前端服务
    )
)

echo [2/3] 正在检查Node.js环境...
where node >nul 2>nul
if %errorlevel% neq 0 (
    echo 错误: 未找到Node.js环境，请先安装Node.js
    pause
    exit /b 1
)

for /f "tokens=*" %%i in ('node -v') do set nodeVersion=%%i
echo 检测到Node.js版本: %nodeVersion%

echo [3/3] 正在启动前端开发服务器（模拟数据模式）...
npm run dev

goto END

:START_FULL
echo ====================================================
echo               完整功能模式启动
 echo ====================================================
echo 此模式需要Python 3.9-3.12环境和MySQL数据库
 echo 系统将启动完整的前后端服务
 echo. 

REM 提示用户检查Python版本
python --version >nul 2>nul
if %errorlevel% neq 0 (
    echo 错误: 未找到Python环境，请先安装Python 3.9-3.12版本
    pause
    exit /b 1
)

REM 启动完整服务（通过start-all.bat）
if exist "start-all.bat" (
    start-all.bat
) else (
    echo 错误: 未找到完整服务启动脚本(start-all.bat)
    pause
    exit /b 1
)

goto END

:END
REM 防止窗口自动关闭
if %errorlevel% neq 0 (
    pause
)
@echo on